/**
 * * 获取资源路径
 * @param path 从src开始键入
 * @returns
 */
export function _import(path: string) {
  return path.replace(/(?:^src|^\/src|^@)/, "");
}
const env = import.meta.env;

/**
 * * 从服务器获取资源路径
 * @param path 服务器上的文件路径
 * @returns
 */
export function importCloud(path: string | undefined) {
  if (!path) return "";
  path = normalizePath(path);
  // 静态资源
  const staticRegexp = new RegExp(env.VITE_STATIC_PROXY);
  if (env.VITE_STATIC_PROXY && staticRegexp.test(path))
    return (env.VITE_STATIC_URL || "") + path;
  //oss 静态资源
  const ossRegexp = new RegExp(env.VITE_OSS_STATIC_PROXY);
  if (env.VITE_OSS_STATIC_PROXY && ossRegexp.test(path))
    return (env.VITE_OSS_STATIC_URL || "") + path;
  return path;
}
/**
 * * 规范化路径，处理不同操作系统的路径分隔符和URL路径
 * @param path 要规范化的路径
 * @returns 规范化后的路径
 */
export function normalizePath(path: string): string {
  if (!path) return "";
  // 处理URL路径（保留协议和域名部分）
  if (path.startsWith("http://") || path.startsWith("https://")) {
    return path.replace(/\\/g, "/");
  }
  // 将Windows的反斜杠转换为正斜杠
  path = path.replace(/\\/g, "/");
  // 确保路径以/开头（相对路径转为绝对路径样式）
  if (
    !path.startsWith("/") &&
    !path.startsWith("./") &&
    !path.startsWith("../")
  ) {
    path = "/" + path;
  }
  // 处理连续的斜杠
  path = path.replace(/\/+/g, "/");
  // 处理类似 /./ 的路径段
  path = path.replace(/\/\.\//g, "/");
  // 处理路径末尾的斜杠（保留根路径的斜杠）
  if (path.length > 1 && path.endsWith("/")) {
    path = path.slice(0, -1);
  }

  return path;
}
